import socket
import json
import time


def send_coordinates(host, port, latitude, longitude):
    # 创建一个 UDP 套接字
    udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

    # 创建要发送的数据字典
    data = {
        'latitude': latitude,
        'longitude': longitude
    }

    # 将字典转换为 JSON 字符串
    json_data = json.dumps(data)

    try:
        # 发送数据到指定的主机和端口
        udp_socket.sendto(json_data.encode('utf-8'), (host, port))
        print(f"Sent data: {json_data} to {host}:{port}")
    except Exception as e:
        print(f"Error sending data: {e}")
    finally:
        # 关闭套接字
        udp_socket.close()


if __name__ == "__main__":
    HOST = '10.86.82.97'  # 目标主机地址
    PORT = 12345  # 目标端口

    # 示例经纬度数据
    latitude = 37.7749523
    longitude = 122.4194337

    # 循环发送数据
    while True:
        send_coordinates(HOST, PORT, latitude, longitude)
        latitude += 1
        longitude += 1
        time.sleep(1)  # 每 1 秒发送一次
